
import config from '@/request/baseUrl.js';

function request({method, url, data}) {
	const token = uni.getStorageSync('TOKEN')
	return new Promise((resolve, reject) => {
		wx.request({
			url: config.baseUrl + url,
			data,
			header: {
				Authorization: token ? token : ''
			},
			method,
			success(res) {
				switch (res.statusCode) {
					case 200:
						if (res.data.code == 200) {
							resolve(res.data)
						} else if (res.data.code == 401) {
							// 不提示
							uni.removeStorageSync("TOKEN");
						} else {
							resolve(res.data)
						}
						break;
					case 401:
						// 未登录不需要提示，有统一弹窗处理
						// uni.showToast({
						// 	title: res.data.msg,
						// 	duration: 1500,
						// 	icon: 'none',
						// })
						break;
					case 404:
						uni.showToast({
							title: '服务器错误',
							duration: 1500,
							icon: 'none'
						})
						break;
					case 500:
						uni.showToast({
							title: '服务器错误',
							duration: 1500,
							icon: 'error'
						})
						break;
				}
			},
			fail(err) {
				uni.showToast({
					title: err,
					duration: 1500,
					icon: 'none'
				})
				resolve(false)
			}
		})
	})
}

export default request;
